// pages/login/index.js
var app = getApp();
import {basePost} from '../../api/base'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        phone: '',
        isOkay: true
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.getCode();
        if (wx.getUserProfile) {
            this.setData({
                canIUseGetUserProfile: true
            })
        }
    },
    toUrl: function(e) {
        let url = e.currentTarget.dataset.url
        wx.navigateTo({
            url,
        })
    },
    getPhoneNumber (e) {
        console.log(e)
        let _this = this
        wx.showLoading({
            title: '登陆中~',
        })
        const iv = e.detail.iv;
        const encryptedData = encodeURIComponent(e.detail.encryptedData);

        basePost(`/user/getWechat`, {
            wechat_code: _this.data.code,
            iv,
            encryptedData
        }, (res) => {
            if (res.code === 200) {
                console.log(res)
                let userInfo = JSON.stringify(res.data)
                wx.setStorageSync('userInfo', userInfo)
                wx.setStorageSync('token', res.data.token)
                app.globalData.token = res.data.token
                wx.hideLoading()
                wx.navigateBack({
                    delta: 1
                });
            } else {
                wx.showToast({
                    title: res.msg,
                    icon: 'none',
                    duration: 3000
                })
            }
        })

    },
    onChange: function(e) {
        console.log(e)
        this.setData({
            isOkay: e.detail.check
        })

    },
//授权登陆按钮
    getCode() {
        // 登录
        wx.login({
            success: res => {
                console.log('code', res)
                this.setData({

                    code: res.code
                })
            }
        })
    },
    getUserProfile(e) {
        // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
        console.log(e)
        wx.getUserProfile({
            desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
            success: (res) => {
                console.log('userInfo', res);
                this.login(res)
            },
            fail: _ => {
                wx.showToast({
                    title: '用户信息获取失败',
                    icon: "error",
                    duration: 1000 * 2
                })
            }
        })
    },
    login(event) {
        // wx.showLoading({
        //     title: '登陆中~',
        // })
        // const iv = event.iv;
        // const encryptedData = encodeURIComponent(event.encryptedData);

        // basePost(`${host}/user/getWechat`, {
        //     wechat_code: this.data.code,
        //     iv,
        //     encryptedData
        // }, (res) => {
        //   if (res.code === 200) {
        //     console.log(res)
        //     let userIfo = JSON.stringify(res.data)
        //     wx.setStorage('userIfo', userIfo)
        //     wx.hideLoading()
        //   }
        // })

    },
    getUserInfo(res) {
        console.log('iv, encryptedData', res);
        wx.hideLoading()
        if (res.code === 40163) {
            wx.showToast({
                title: 'code过期，请重新登录！',
                icon: "none",
                duration: 1000 * 1.5
            })
            this.getCode() // 重新获取一次后，再次点击的时候可以用最新的code
        } else {
            wx.showToast({
                title: res.msg,
                icon: "success",
                duration: 1000 * 1.5
            })
        }
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})